MongoDB mongosh Update

নথির আপডেট

নথি আপডেট

আপনি একটি বিদ্যমান নথি আপডেট করতে updateOne() বা updateMany() পদ্ধতি ব্যবহার করতে পারেন।

প্রথম প্যারামিটারটি একটি ক্যোয়ারী অবজেক্ট যা সংজ্ঞায়িত করে কোন নথি বা নথি আপডেট করা উচিত।

দ্বিতীয় প্যারামিটারটি আপডেট করা ডেটা সংজ্ঞায়িত করে এমন একটি বস্তু।

updateOne()

UpdateOne() পদ্ধতিটি প্রদত্ত প্রশ্নের সাথে মেলে এমন প্রথম নথি আপডেট করে।

আসুন "পোস্ট টাইটেল 1" শিরোনাম সহ একটি পোস্টের "লাইক" এর সংখ্যা দেখি:

উদাহরণ

db.posts.find( { title: "Post Title 1" } )

এখন এই পোস্টের "লাইক" 2 এ আপডেট করা যাক। এটি করার জন্য, আপনাকে $set অপারেটর ব্যবহার করতে হবে।

উদাহরণ

db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } )

ডকুমেন্টটি আবার চেক করুন এবং আপনি দেখতে পাবেন যে "লাইক" আপডেট করা হয়েছে।

উদাহরণ

db.posts.find( { title: "Post Title 1" } )

না পাওয়া গেলে ঢোকান

যদি আপনি একটি ডকুমেন্ট সন্নিবেশ করতে চান যদি এটি না পাওয়া যায়, আপনি আপসার্ট বিকল্পটি ব্যবহার করতে পারেন।

উদাহরণ

নথি আপডেট করুন, কিন্তু না পাওয়া গেলে সন্নিবেশ করুন:

db.posts.updateOne( 
  { title: "Post Title 5" }, 
  {
    $set: 
      {
        title: "Post Title 5",
        body: "Body of post.",
        category: "Event",
        likes: 5,
        tags: ["news", "events"],
        date: Date()
      }
  }, 
  { upsert: true }
)

updateMany()

updateMany() পদ্ধতি প্রদত্ত প্রশ্নের সাথে মেলে এমন সমস্ত নথি আপডেট করে।

উদাহরণ

সমস্ত নথিতে 1 লাইক আপডেট করুন। এর জন্য আমরা $inc (ইনক্রিমেন্ট) অপারেটর ব্যবহার করি:

db.posts.updateMany({}, { $inc: { likes: 1 } })

এখন সমস্ত নথিতে পছন্দগুলি পরীক্ষা করুন এবং আপনি দেখতে পাবেন যে সেগুলি 1 দ্বারা বৃদ্ধি পেয়েছে।

অনুশীলন করুন

মঙ্গোডিবিতে একটি নথি সন্নিবেশ করার জন্য কোন বিকল্পটি ব্যবহার করা হয় যদি এটি পাওয়া না যায়?

insertIfNotFound
✗ ভুল! insertIfNotFound MongoDB-তে একটি বৈধ বিকল্প নয়
upsert
✓ ঠিক আছে! আপসার্ট অপশনটি একটি ডকুমেন্ট না পাওয়া গেলে সন্নিবেশ করতে ব্যবহৃত হয়
createIfMissing
✗ ভুল! createIfMissing মঙ্গোডিবি-তে একটি বৈধ বিকল্প নয়
insertOrUpdate
✗ ভুল! InsertOrUpdate MongoDB-তে একটি বৈধ বিকল্প নয়